Skip to content

fix(dell): support extended HTTP boot option names#102

Merged
williampnvidia merged 1 commit into
NVIDIA:mainfrom
williampnvidia:william/dell-http-boot-option-suffix
Jul 13, 2026
Merged

fix(dell): support extended HTTP boot option names#102
williampnvidia merged 1 commit into
NVIDIA:mainfrom
williampnvidia:william/dell-http-boot-option-suffix

Conversation

@williampnvidia

Copy link
Copy Markdown

Summary

  • recognize both legacy exact Dell HTTP boot-option names and newer names with a " - "-delimited adapter/MAC/protocol suffix
  • use one bounded matcher in machine_setup_status, set_boot_order_dpu_first, and is_boot_order_setup
  • prevent false prefix matches such as Partition 1 matching Partition 10
  • add table-driven regression coverage for legacy, extended, and non-matching names

Testing

  • cargo fmt --check
  • cargo clippy --locked --all-targets --all-features --workspace -- -D warnings
  • cargo build
  • cargo test --locked -- --test-threads=1
  • focused test_dell integration test
  • focused test_dell_multi_dpu integration test

Fixes #101.

Related: #93. This is a draft fallback for the existing fix; only one implementation should be merged.

Signed-off-by: Josh P <williamp@nvidia.com>
@williampnvidia williampnvidia marked this pull request as ready for review July 13, 2026 16:57
@williampnvidia williampnvidia merged commit b52345f into NVIDIA:main Jul 13, 2026
2 checks passed
@williampnvidia

Copy link
Copy Markdown
Author

Additional note regarding this PR:
The bounded DisplayName match is an intentional short-term compatibility fix. During migration to nv-redfish, Dell DPU boot options should be identified structurally by matching BootOption.RelatedItem to the target NetworkDeviceFunction OData ID, as already done in bmc-explorer, with compatibility handling for firmware that omits RelatedItem.

williampnvidia added a commit to NVIDIA/infra-controller that referenced this pull request Jul 13, 2026
## Summary

- bump libredfish from v0.44.18 to v0.44.19
- include Dell HTTP boot-option compatibility for both the legacy exact
display name and the suffix added by newer firmware

Upstream fix: NVIDIA/libredfish#102
Issue: NVIDIA/libredfish#101

## Testing

- `cargo metadata --locked --no-deps --format-version 1`
- `cargo check --locked -p carbide-redfish`
- `cargo check --locked -p carbide-redfish -p carbide-machine-controller
-p carbide-api-core` (Linux)
- `cargo make --no-workspace clippy-flow` (Linux)

Signed-off-by: Josh P <williamp@nvidia.com>
nv-dmendoza pushed a commit to NVIDIA/infra-controller that referenced this pull request Jul 13, 2026
Backport of #3442 to `release/v2.0`.

Newer Dell firmware appends interface details to HTTP boot-option
display
names. libredfish v0.44.19 preserves the legacy exact-name match while
also accepting the suffix used by newer firmware, allowing SetBootOrder
to work with both firmware generations.

`release/v2.0` previously pinned libredfish v0.44.16, so this backport
advances it directly to v0.44.19. This also includes the changes from
v0.44.17 and v0.44.18. Because v0.44.18 introduced
`RedfishVendor::VeraRubin`, this PR also cherry-picks the compatibility
handling from #3074 required to keep the release branch compiling.

## Related issues

- Mainline dependency PR: #3442
- VeraRubin compatibility PR: #3074
- libredfish fix: NVIDIA/libredfish#102
- libredfish issue: NVIDIA/libredfish#101

## Type of Change

- [ ] **Add** - New feature or capability
- [ ] **Change** - Changes in existing functionality
- [x] **Fix** - Bug fixes
- [ ] **Remove** - Removed features or deprecated functionality
- [ ] **Internal** - Internal changes (refactoring, tests, docs, etc.)

## Breaking Changes

- [ ] **This PR contains breaking changes**

## Testing

- [x] Unit tests added/updated in the upstream libredfish fix
- [ ] Integration tests added/updated
- [ ] Manual testing performed
- [ ] No testing required

Validated on Linux against this backport branch:

- `cargo check --locked -p carbide-redfish -p carbide-site-explorer`
- focused Clippy for `carbide-redfish` and `carbide-site-explorer`
- `cargo make --no-workspace clippy-flow`

## Additional Notes

This PR contains two backported mainline commits:

- `bec9dfe7c` — bump libredfish to v0.44.19
- `366947aef` — handle the VeraRubin vendor variant introduced by
v0.44.18

Release Management should perform the merge.

---------

Signed-off-by: Josh P <williamp@nvidia.com>
Co-authored-by: hakhondzadeh <hakhondzadeh@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Verify

Development

Successfully merging this pull request may close these issues.

bug(dell): extended HTTP boot-option names cause MissingBootOption and block ingestion

2 participants